package com.itheima.反射reflect.基于反射方式操作成员方法;

import java.lang.reflect.Method;

public class ReflectDemo2 {
    public static void main(String[] args)throws Exception {
        //获取class对象
        Class clazz = Class.forName("com.itheima.反射reflect.基于反射方式操作成员方法.Student2");
        //获取里面的method对象
        Method method2 = clazz.getDeclaredMethod("function5", String.class);
        //忽略安全检查
        method2.setAccessible(true);
        //创建student2对象
        Student2 student2 = (Student2) clazz.newInstance();
        //运行方法invoke：拿方法的第一个参数作为真正的调用者，调用当前方法
        Object result = method2.invoke(student2, "李四");
        System.out.println(result);

    }
}

class Student2{
    private String function5(String name){
        System.out.println("第五个，有参有返回值，参数不变"+name);
        return "李四来了";
    }
}